package com.tarena.lbs.basic.web.controller;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.model.Result;
import com.tarena.lbs.basic.web.service.AreaService;
import com.tarena.lbs.pojo.basic.vo.AreaVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 新建门店地区接口：1.查询省级列表
 *          2.查询市级列表
 *          3.查询县级列表
 *
 * 门店地区相关  地区是自关联表
 * 店铺管理下的门店地区 插叙地区
 */
@RestController
@Slf4j
public class AreaController {
    //门店地区：查询省级列表31 个
    @Autowired
    private AreaService areaService;
    //查询省级列表 31个
    @GetMapping("/admin/basic/area/queryList")
    public Result<List<AreaVO>> getProvinces()
            throws BusinessException {
        List<AreaVO> vos = areaService.getChildrenAreas(0l);
        return new Result<>(vos);
    }
    //查询下一级 可能是市级,也可能是区级（复用上面的接口）
    @GetMapping("/admin/basic/area/{parentId}/children")
    public Result<List<AreaVO>> getChildren(@PathVariable Long parentId)
            throws BusinessException{
        List<AreaVO> vos = areaService.getChildrenAreas(parentId);
        return new Result<>(vos);
    }
    //查询城市三级树
    @GetMapping("/admin/basic/area/tree")
    public Result<List<AreaVO>> areaTree(){
        List<AreaVO> vos=areaService.areaTree();
        return new Result<>(vos);
    }

}
